package com.xunk.equipment.service.mandun.vo;

import com.xunk.common.core.utils.serialization.UrlSerializer;
import lombok.Data;
import lombok.EqualsAndHashCode;
import lombok.NoArgsConstructor;
import lombok.ToString;

import javax.validation.constraints.NotBlank;

/**
 * @ProjectName: xunk
 * @Package: com.xunk.equipment.service.mandun.vo
 * @ClassName: MandunPushVO
 * @Author: luanzhiwei
 * @Description: 曼顿告警消息推送实体类
 * @Date: 2021/3/29 17:06
 * @Version: 1.0
 */
@Data
@NoArgsConstructor
@ToString
@EqualsAndHashCode
public class MandunPush {

    /**
     * 推送类型，用于本地接口赋值
     */
    private String type;

    /**
     * 探测标识,0 或 （大于0的4位数值）
     */
    @NotBlank(message = "探测标识[detect]不能为空")
    private String detect;
    /**
     * 通讯密钥
     * 加密方式：md5(盐值+告警时间dateTime )的日期(格式：yyyy-mm-dd)
     * 当订阅（SUBSCRIBE_PUSH_SERVICE）的pushMode="1",加密方式：md5(盐值+当前日期)
     */
    private String key;
    /**
     * 设备号，当订阅（SUBSCRIBE_PUSH_SERVICE）的pushMode="1"时无值，以content内的mac值为准
     */
    private String mac;
    /**
     * 新报警信息的JSON数据（当detect为0时，必填）
     */
    private String content;

    public String getContent() {
        return UrlSerializer.decode(content);
    }
}
